1. Field
The present disclosure pertains to the field of information processing, and more particularly, to the field of security in information processing systems.
2. Description of Related Art
Information processing systems typically include a programmable non-volatile memory, such as an electrically erasable programmable read only memory (“EEPROM”) or flash memory, for storing a bootstrap loader, a basic input/output system (“BIOS”), and other firmware. The code stored in this non-volatile memory may be modified for updates and patches, but is retained when the system is powered down. Therefore, it may be the target of malicious attacks on the information processing system.
One approach to preventing these attacks has been to store a checksum or other error code value in the non-volatile memory, which is generated from code stored in the non-volatile memory. The bootstrap loader may then use this checksum to verify that this code has not been corrupted, before allowing it to be loaded to system memory or executed. However, if the bootstrap loader or checksum has itself been corrupted, then this approach may fail.